home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / util / rexx / xdmd1.lha / InsLit.xdme < prev    next >
Text File  |  1994-10-24  |  2KB  |  84 lines

  1. /* InsLit.dme © 1992 Fergus Duniho */
  2. /* Requester for picking and inserting any character */
  3.  
  4. if ~show("L","rexxarplib.library") then
  5.     if ~addlib("rexxarplib.library",0,-30,0) then exit
  6.  
  7. options results
  8. address 'XDME.1'
  9. 'rxresult $fontname'
  10. FONT = result
  11. 'rxresult $fontsize'
  12. SIZE = result
  13.  
  14. H = Size+4
  15. If SIZE=9 Then W = 20
  16.           Else W = 16
  17.  
  18. Address AREXX "'Call CreateHost CPORT, NOTPORT'"
  19. Do Until ShowList(P,CPORT)
  20.     Call Delay(10)
  21. End
  22.  
  23. IDCMP = 'CLOSEWINDOW+WINDOWDRAG+MOUSEBUTTONS'
  24. FLAGS = 'ACTIVATE+WINDOWCLOSE+WINDOWDRAG'
  25.  
  26. Call OpenWindow CPORT, 70, 50, 1+W*28, 10+8*H, IDCMP, FLAGS, 'Pick a Character'
  27. Call ModifyHost CPORT, CLOSEWINDOW, 'Call Quit CPORT; Exit'
  28. Call ModifyHost CPORT, MOUSEBUTTONS, 'X = %x; Y = %y; Call ReadHost CPORT, MAINPORT, "X = %x; Y = %y; Call Insert()"'
  29.  
  30. Call SetAPen CPORT, 1
  31. Call SetFont CPORT, FONT, SIZE
  32. Call Move CPORT, 4, 6+H
  33. Call Text CPORT, "  ! "" # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ;"
  34. Call Move CPORT, 4, 6+2*H
  35. Call Text CPORT, "< = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W"
  36. Call Move CPORT, 4, 6+3*H
  37. Call Text CPORT, "X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s"
  38. Call Move CPORT, 4, 6+4*H
  39. Call Text CPORT, "t u v w x y z { | } ~  €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  Ž "
  40. Call Move CPORT, 4, 6+5*H
  41. Call Text CPORT, " ‘ ’ “ ” • – — ™ ˜ š › œ  ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª «"
  42. Call Move CPORT, 4, 6+6*H
  43. Call Text CPORT, "¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç"
  44. Call Move CPORT, 4, 6+7*H
  45. Call Text CPORT, "Ƞɠʠˠ̠͠ΠϠРѠҠӠԠՠ֠נؠ٠ڠ۠ܠݠޠߠà á â ã"
  46. Call Move CPORT, 4, 6+8*H
  47. Call Text CPORT, "ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ"
  48. Call SetAPen CPORT, 3
  49. Do Y = 10+H to 10+7*H by H
  50.     Call Move CPORT, 0, Y
  51.     Call Draw CPORT, 28*W, Y
  52. End
  53. Do X = W to 27*W by W
  54.     Call Move CPORT, X, 10
  55.     Call Draw CPORT, X, 20+8*H
  56. End
  57.  
  58. Call OpenPort MAINPORT
  59. Do Until ShowList(P, MAINPORT)
  60.     Call Delay(10)
  61. End
  62.  
  63. Call SetNotify(CPORT, CLOSEWINDOW, MAINPORT)
  64. Call SetNotify(CPORT, MOUSEBUTTONS, MAINPORT)
  65.  
  66. Do Forever
  67.     Call WaitPkt(MAINPORT)
  68.     PACKET = GetPkt(MAINPORT)
  69.     If PACKET ~== Null() Then Do
  70.         ID = GetArg(PACKET, 0)
  71.         Call Reply PACKET, 0
  72.         Interpret ID
  73.     End
  74. End
  75.  
  76. Insert:
  77.     Call Quit CPORT
  78.     CH = d2c(((Y-10)%H)*28+X%W+32)
  79.     C = "'" || CH
  80.     C
  81.     C = "set ch" CH
  82.     C
  83. Exit
  84.